/**
 * 全局帮助类
 */
import * as _ from 'lodash';
import * as path from 'path';
import * as dotenv from 'dotenv';
import { existsSync, readdirSync } from 'fs';

export class Utils {
  /**
   * 加载环境变量
   */
  static setEnv() {
    // 开发环境env配置
    if (existsSync(path.join(__dirname, '../env'))) {
      // 读取环境变量文件
      const env_list = readdirSync(path.join(__dirname, '../env'));
      // 设置环境变量
      env_list
        .reverse()
        .forEach((e) =>
          dotenv.config({ path: path.join(__dirname, `../env/${e}`) }),
        );
    } else {
      // 设置开发环境变量
      dotenv.config({ path: path.join(__dirname, `../../env/.env`) });
      dotenv.config({ path: path.join(__dirname, `../../env/.env.local`) });
    }
  }

  static isNotEmptyValue(value) {
    // 检查是否为 null、undefined、空字符串、NaN 或者数字 0
    return value != null && value !== '' && !isNaN(value) && value !== 0;
  }
}
